package com.ruoyi.user.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户详细资料对象 tb_user_profile
 * 
 * @author ruoyi
 * @date 2025-07-29
 */
public class TbUserProfile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资料ID */
    private Long profileId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 用户年龄 */
    @Excel(name = "用户年龄")
    private Long age;

    /** 身高(cm) */
    @Excel(name = "身高(cm)")
    private Long height;

    /** 体重(kg) */
    @Excel(name = "体重(kg)")
    private Long weight;

    /** 学历：1-高中及以下，2-大专，3-本科，4-硕士，5-博士 */
    @Excel(name = "学历：1-高中及以下，2-大专，3-本科，4-硕士，5-博士")
    private Integer education;

    /** 学历认证图片URL */
    @Excel(name = "学历认证图片URL")
    private String educationCert;

    /** 公司 */
    @Excel(name = "公司")
    private String company;

    /** 职位 */
    @Excel(name = "职位")
    private String position;

    /** 收入水平：1-5k以下，2-5k-10k，3-10k-20k，4-20k-50k，5-50k以上 */
    @Excel(name = "收入水平：1-5k以下，2-5k-10k，3-10k-20k，4-20k-50k，5-50k以上")
    private Integer incomeLevel;

    /** 工作城市 */
    @Excel(name = "工作城市")
    private String workCity;

    /** 家乡 */
    @Excel(name = "家乡")
    private String hometown;

    /** 婚姻状况：1-未婚，2-离异，3-丧偶 */
    @Excel(name = "婚姻状况：1-未婚，2-离异，3-丧偶")
    private Integer maritalStatus;

    /** 是否有子女：0-无，1-有 */
    @Excel(name = "是否有子女：0-无，1-有")
    private Integer hasChildren;

    /** 住房情况：1-租房，2-有房贷款，3-有房无贷款，4-和家人同住 */
    @Excel(name = "住房情况：1-租房，2-有房贷款，3-有房无贷款，4-和家人同住")
    private Integer houseStatus;

    /** 车辆情况：1-无车，2-有车有贷款，3-有车无贷款 */
    @Excel(name = "车辆情况：1-无车，2-有车有贷款，3-有车无贷款")
    private Integer carStatus;

    /** 自我介绍 */
    @Excel(name = "自我介绍")
    private String selfIntroduction;

    /** 兴趣爱好 */
    @Excel(name = "兴趣爱好")
    private String hobby;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setProfileId(Long profileId) 
    {
        this.profileId = profileId;
    }

    public Long getProfileId() 
    {
        return profileId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }
    public void setAge(Long age) 
    {
        this.age = age;
    }

    public Long getAge() 
    {
        return age;
    }
    public void setHeight(Long height) 
    {
        this.height = height;
    }

    public Long getHeight() 
    {
        return height;
    }
    public void setWeight(Long weight) 
    {
        this.weight = weight;
    }

    public Long getWeight() 
    {
        return weight;
    }
    public void setEducation(Integer education) 
    {
        this.education = education;
    }

    public Integer getEducation() 
    {
        return education;
    }
    public void setEducationCert(String educationCert) 
    {
        this.educationCert = educationCert;
    }

    public String getEducationCert() 
    {
        return educationCert;
    }
    public void setCompany(String company) 
    {
        this.company = company;
    }

    public String getCompany() 
    {
        return company;
    }
    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }
    public void setIncomeLevel(Integer incomeLevel) 
    {
        this.incomeLevel = incomeLevel;
    }

    public Integer getIncomeLevel() 
    {
        return incomeLevel;
    }
    public void setWorkCity(String workCity) 
    {
        this.workCity = workCity;
    }

    public String getWorkCity() 
    {
        return workCity;
    }
    public void setHometown(String hometown) 
    {
        this.hometown = hometown;
    }

    public String getHometown() 
    {
        return hometown;
    }
    public void setMaritalStatus(Integer maritalStatus) 
    {
        this.maritalStatus = maritalStatus;
    }

    public Integer getMaritalStatus() 
    {
        return maritalStatus;
    }
    public void setHasChildren(Integer hasChildren) 
    {
        this.hasChildren = hasChildren;
    }

    public Integer getHasChildren() 
    {
        return hasChildren;
    }
    public void setHouseStatus(Integer houseStatus) 
    {
        this.houseStatus = houseStatus;
    }

    public Integer getHouseStatus() 
    {
        return houseStatus;
    }
    public void setCarStatus(Integer carStatus) 
    {
        this.carStatus = carStatus;
    }

    public Integer getCarStatus() 
    {
        return carStatus;
    }
    public void setSelfIntroduction(String selfIntroduction) 
    {
        this.selfIntroduction = selfIntroduction;
    }

    public String getSelfIntroduction() 
    {
        return selfIntroduction;
    }
    public void setHobby(String hobby) 
    {
        this.hobby = hobby;
    }

    public String getHobby() 
    {
        return hobby;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("profileId", getProfileId())
            .append("userId", getUserId())
            .append("realName", getRealName())
            .append("age", getAge())
            .append("height", getHeight())
            .append("weight", getWeight())
            .append("education", getEducation())
            .append("educationCert", getEducationCert())
            .append("company", getCompany())
            .append("position", getPosition())
            .append("incomeLevel", getIncomeLevel())
            .append("workCity", getWorkCity())
            .append("hometown", getHometown())
            .append("maritalStatus", getMaritalStatus())
            .append("hasChildren", getHasChildren())
            .append("houseStatus", getHouseStatus())
            .append("carStatus", getCarStatus())
            .append("selfIntroduction", getSelfIntroduction())
            .append("hobby", getHobby())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}